<?php

// Service web du projet Réservations M2L
// Ecrit le 06/10/2014 par Malinge Florian

// Le service web doit recevoir 2 paramètres : numSalle, digicode
global $doc;
global $name, $password, $email;
global $ADR_MAIL_EMETTEUR;

include_once ('_inc_parametres.php');
include_once ('_inc_fonctions_boite_a_outils.php');

// crée une instance de DOMdocument
$doc = new DOMDocument();

// specifie la version et le type d'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';

// crée un commentaire et l'encode en ISO
$elt_commentaire = $doc->createComment('Service web ChangerMdp - BTS SIO - Lycée De La Salle - Rennes');
// place ce commentaire à la racine du document XML
$doc->appendChild($elt_commentaire);

// Récupération des données transmises
// la fonction $_GET récupère une donnée passée en paramètre dans l'URL par la méthode GET
if ( empty ($_GET ["nom"]) == true)  $name = "";  else   $name = $_GET ["nom"];
if ( empty ($_GET ["mdp"]) == true)  $password = "";  else   $password = $_GET ["mdp"];
if ( empty ($_GET ["newMdp"]) == true)  $newMdp = "";  else   $newMdp = $_GET ["newMdp"];
if ( empty ($_GET ["confNewMdp"]) == true)  $confNewMdp = "";  else   $confNewMdp = $_GET ["confNewMdp"];


// si l'URL ne contient pas les données, on regarde si elles ont été envoyées par la méthode POST
// la fonction $_POST récupère une donnée envoyées par la méthode POST
if ( $name == "" && $password == "" && $newMdp == "" && $confNewMdp == "" )
{	if ( empty ($_POST ["nom"]) == true)  $name = "";  else   $name = $_POST ["nom"];
if ( empty ($_POST ["mdp"]) == true)  $password = "";  else   $password = $_POST ["mdp"];
if ( empty ($_POST ["newMdp"]) == true)  $newMdp = "";  else   $newMdp = $_POST ["newMdp"];
if ( empty ($_POST ["confNewMdp"]) == true)  $confNewMdp = "";  else   $confNewMdp = $_POST ["confNewMdp"];
}

// Contrôle de la présence des paramètres
if ( $name == "" || $password == "" || $newMdp == "" || $confNewMdp == "")
{	TraitementAnormal ("Erreur : données incomplètes ou incorrectes.");
}
else 
{
	if ( $newMdp != $confNewMdp)
	{	TraitementAnormal ("Erreur : le nouveau mot de passe et sa confirmation sont différents");
	}
	else 
	{
		// connexion du serveur web à la base MySQL ("include_once" peut être remplacé par "require_once")
		include_once ('_inc_connexion.php');
		include_once ('_inc_fonctions_bdd_reservations.php');
		
		if ( estIdentifie($name, $password) == "inconnu" )
			TraitementAnormal("Erreur : authentification incorrecte.");
		else 
		{
			//Création du nouveau mot de passe 
			modifierMdpUser($name, $newMdp);
			envoyerMdp($name, $newMdp);
			echo ("Enregistrement effectué ; vous allez recevoir un mail de confirmation.");
			
		}
	}
}

// Mise en forme finale
$doc->formatOutput = true;
// renvoie le contenu XML
echo $doc->saveXML();
// fin du programme
exit;

// fonction de traitement des cas anormaux
function TraitementAnormal($msg)
{	// redéclaration des données globales utilisées dans la fonction
global $doc;
// crée l'élément 'data' à la racine du document XML
$elt_data = $doc->createElement('data');
$doc->appendChild($elt_data);
// place l'élément 'reponse' juste après l'élément 'data'
$elt_reponse = $doc->createElement('reponse', $msg);
$elt_data->appendChild($elt_reponse);
return;
}





